import { InjectionToken } from "tsyringe";

export interface IConfig {
    get<T>(key: InjectionToken<T>): T;
    set<T>(key: InjectionToken<T>, val: T): void;
    getSafe<T>(key: InjectionToken<T>, def: T): T;
    remove<T>(key: InjectionToken<T>): void;
    has<T>(key: InjectionToken<T>): boolean;
    clear(): void;
}
